import psutil
import torch
from app.utils.logger import setup_logger

logger = setup_logger("monitor")

def log_resource_usage():
    """记录资源使用情况"""
    process = psutil.Process()
    
    # CPU 使用
    cpu_percent = process.cpu_percent()
    
    # 内存使用
    memory_info = process.memory_info()
    memory_usage_mb = memory_info.rss / 1024 / 1024
    
    # GPU 使用 (MPS)
    if torch.backends.mps.is_available():
        try:
            # Mac 没有直接的 GPU 内存查询方法
            gpu_available = "可用"
        except:
            gpu_available = "不可用"
    else:
        gpu_available = "未启用"
    
    logger.info(f"资源使用情况:")
    logger.info(f"- CPU 使用率: {cpu_percent}%")
    logger.info(f"- 内存使用: {memory_usage_mb:.2f} MB")
    logger.info(f"- GPU (MPS): {gpu_available}") 